Customized interactive computing environment

ABSTRACT

A customized interactive computing environment may allow for a customized interactive user experience. The interactive computing environment may be defined by session parameters to customize a session of the interactive computing environment. The session parameters may include customized interactive user objectives that may be defined by a user. Each objective may be defined with a number of points awarded to a user for completing the objective. Real-time interactive user data may be received from user devices for completion of the custom objectives. Custom profile information may be defined by a user to customize user interfaces provided to users that log into a session of the interactive computing environment. Data analysis about the session and/or the defined objectives may be generated and displayed to users to indicate progress or other data about the session.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/844,221, filed Apr. 9, 2020, which is a continuation of U.S. patentapplication Ser. No. 15/675,440, filed Aug. 11, 2017, which issued asU.S. Pat. No. 10,691,315 on Jun. 23, 2020, which is a continuation ofU.S. patent application Ser. No. 14/705,830, filed May 6, 2015, whichissued as U.S. Pat. No. 9,753,622 on Sep. 5, 2017, the contents of whichare hereby incorporated by reference herein in their entireties.

BACKGROUND

Computing devices provide various applications and services forcollecting data from users and to provide information to users. Some ofthese applications may be games or other entertaining applications tokeep the interest of the user, while also collecting user data orproviding information to the user. Many of these applications, however,are provided in a predefined format that allows little to nocustomization of the applications or services themselves, including thetype of data collected from the users or the information being providedto the users. Other applications may provide the information in a mannerthat is not retained by the user, as the application is unable to keepthe user's interest.

SUMMARY

Systems, methods, and apparatus are described herein for providing acustomized interactive computing environment. The customized interactivecomputing environment may be provided to maintain the interest of users,such as in the form of a game or a contest, and collect user-interactivedata. Session parameters may be defined at a computing device tocustomize a session of the interactive computing environment. Thesession parameters may be defined by a user, such as an administrativeuser, at a computing device. The session parameters may includecustomized interactive user objectives that may be defined by the user.The interactive user objectives that may include different objectivetypes, such as photo objectives, location-based objectives, quickresponse (QR) code objectives, question and answer objectives,fitness-based objectives, and/or other interactive user objectives to becompleted by users. Each objective may be defined with a number ofpoints awarded to a user for completing the objective.

Custom profile information may be defined by a user, such as theadministrative user, to customize user interfaces provided to users thatlog into a session of the interactive computing environment. The customprofile information may include a graphic or text for automaticallycustomizing the user interfaces. The user interfaces may be generatedincluding the custom profile information in a predefined location of theuser interface. The customized user interfaces may be provided to thecomputing devices of the users that are logged into the interactivecomputing environment to enable the users to access the interactivecomputing environment.

Users may register and log into the session to complete the definedobjectives. Real-time interactive user data may be received, via theuser interfaces, from users during the session. The real-timeinteractive data of each user may include data submitted in response tothe user objectives. For example, the real-time interactive data mayinclude a geospatial location of the user, an answer to a question, a QRcode or embedded text interpreted from scanning a QR code, a photo,fitness information, and/or a response to another objective type. Thereal-time interactive data may be included in a digital message thatincludes an objective identifier for which the real-time interactivedata is being submitted. The user may be awarded a number of pointsallocated to the identified objective. The user's total score may beincreased by the number of points awarded. The user's total score mayindicate an amount of information conveyed to the user and/or an amountof real-time interactive data received from the user.

Data analysis about the session and/or the defined objectives may begenerated and displayed to a user, such as an administrative user. Forexample, the data analysis may indicate a number of users that havelogged into a session and/or completed interactive user objectivesduring the session. The data analysis may be provided in a graphicalformat.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of an example computing device.

FIG. 2 illustrates a block diagram of an example computing networksystem.

FIG. 3 is a flow diagram of an example method that may be implemented tocreate and/or customize an interactive computing environment.

FIGS. 4A-4F depict example user interfaces that may be generated fordefining session objectives for the interactive computing environment.

FIGS. 5A-5D depict example user interfaces that may be generated fordisplaying data analysis.

FIG. 6 depicts another example user interface that may be generated fordisplaying data analysis.

FIG. 7 depicts another example user interface that may be generated fordisplaying data analysis.

FIG. 8 is a flow diagram illustrating an example method for customizinguser interfaces provided to users logged into a session of aninteractive computing environment.

FIG. 9 depicts an example user interface that may be generated toinclude custom profile information at one or more portions of the userinterface.

FIG. 10 is a flow diagram illustrating an example method for generatingrewards for users.

DETAILED DESCRIPTION

FIG. 1 illustrates a block diagram of an example computing device 100.The computing device 100 may include a personal computer, such as alaptop or desktop computer, a tablet device, a cellular phone orsmartphone, a server, or another type of computing device. The computingdevice 100 may include a processor 102, a communication interface 104, amemory 106, a display 108, input devices 110, output devices 112, and/ora GPS circuit 114. The computing device 100 may include additional,different, or fewer components.

The processor 102 may include one or more general purpose processors,special purpose processors, conventional processors, digital signalprocessors (DSPs), microprocessors, integrated circuits, a programmablelogic device (PLD), application specific integrated circuits (ASICs), orthe like. The processor 102 may perform signal coding, data processing,image processing, power control, input/output processing, and/or anyother functionality that enables the computing device 100 to perform asdescribed herein.

The processor 102 may store information in and/or retrieve informationfrom the memory 106. The memory 106 may include a non-removable memoryand/or a removable memory. The non-removable memory may includerandom-access memory (RAM), read-only memory (ROM), a hard disk, or anyother type of non-removable memory storage. The removable memory mayinclude a subscriber identity module (SIM) card, a memory stick, amemory card, or any other type of removable memory. The memory may belocal memory or remote memory external to the computing device 100. Thememory 106 may store instructions which are executable by the processor102. Different information may be stored in different locations in thememory 106.

The processor 102 that may communicate with other devices via thecommunication device 104. The communication device 104 may transmitand/or receive information over the network 116, which may include oneor more other computing devices. The communication device 104 mayperform wireless and/or wired communications. The communication device104 may include an receiver, transmitter, transceiver, or other devicecapable of performing wireless communications via an antenna. Thecommunication device 104 may be capable of communicating via one or moreprotocols, such as a cellular communication protocol, a Wi-Ficommunication protocol, Bluetooth®, a near field communication (NFC)protocol, an internet protocol, another proprietary protocol, or anyother radio frequency (RF) or communications protocol. The computingdevice 100 may include one or more communication devices 104.

The processor 102 may be in communication with a display 108 forproviding information to a user. The information may be provided via auser interface on the display 108. The information may be provided as animage generated on the display 108. The display 108 and the processor102 may be in two-way communication, as the display 106 may include atouch-screen device capable of receiving information from a user andproviding such information to the processor 102.

The processor 102 may be in communication with a GPS circuit 114 forreceiving geospatial information. The processor 102 may be capable ofdetermining the GPS coordinates of the wireless communication device 100based on the geospatial information received from the GPS circuit 114.The geospatial information may be communicated to one or more othercommunication devices to identify the location of the computing device100.

The processor 102 may be in communication with input devices 110 and/oroutput devices 112. The input devices 110 may include a camera, amicrophone, a keyboard or other buttons or keys, and/or other types ofinput devices for sending information to the processor 102. The display108 may be a type of input device, as the display 108 may includetouch-screen sensor capable of sending information to the processor 102.The output devices 112 may include speakers, indicator lights, or otheroutput devices capable of receiving signals from the processor 102 andproviding output from the computing device 100. The display 108 may be atype of output device, as the display 108 may provide images or othervisual display of information received from the processor 102.

FIG. 2 illustrates a block diagram of an example computing networksystem 200. The computing network system 200 may include one or morecomputing devices 230 a-230 n that may be capable of communicatingdigital messages with one another, either directly or via the network220. The computing devices 230-230 n may be user devices capable oflogging into a session of an interactive computing environment andproviding real-time interactive data via the network 220. The network220 may include a wired and/or wireless network. For example, thenetwork 220 may include a Wi-Fi communication network, a Wi-MAXcommunication network, a cellular communication network (e.g., CDMA,HSPA+, LTE, etc.), and/or a television white space (TVWS) communicationnetwork. The network 220 may include one or more communication networks.

The one or more computing devices 230 a-230 n may be capable ofcommunicating digital messages to and/or receiving digital messages fromthe computing device 210 via the network 220. The computing device 210may be a server, such as a web server, for providing a user interface tothe computing devices 230 a-230 n. The computing device 210 may be incommunication with an application executing locally on the computingdevices 230 a-230 n for providing a user interface at the computingdevices. The display of information may be generated locally at thecomputing devices 230 a-230 n or at the computing device 210 andprovided via an application (e.g., a web browser) at the computingdevices 230 a-230 n.

One or more of the computing devices 230 a-230 n may be operated by anadministrative user capable of configuring sessions of an interactivecomputing environment that may be stored at the computing device 210.The computing device operated by the administrative user may submitcredentials to the computing device 210 to allow the session to beconfigured. The session may be accessed by the computing devices 230a-230 n via the network 220.

FIG. 3 is a flow diagram of an example method 300 that may beimplemented to create and/or customize a session of an interactivecomputing environment at a computing device. The method 300, or portionsthereof, may be performed at a computing device or may be distributedacross multiple computing devices (e.g., a server and a user device).The method 300, or portions thereof, may be performed to enable users,such as administrative users, to customize objectives to be performed byother users in the interactive computing environment. The method 300, orportions thereof, may be performed to collect real-time interactive datafrom users of the interactive computing environment and provide suchdata to users, such as the administrative users.

As illustrated in FIG. 3, profile information for an interactivecomputing environment may be received at a computing device at 302. Theprofile information may be received at 302 via user input or fromanother computing device. The profile information may be used to createa session of an interactive computing environment having thecharacteristics indicated in the profile information. The profileinformation may include a name and/or a description of a session inwhich the interactive computing environment may be accessed by a groupof users. The profile information may include session parameters for asession that may be created within the interactive computingenvironment. The session parameters may include a start date, a starttime, an end date, and/or an end time for which users may access theinteractive computing environment. The dates and/or times may be enteredby a user in a text box or a selection in a calendar display, a dropdownmenu, or other form of user-selection. The session parameters mayinclude a password that may be used to prevent unauthorized users fromaccessing the session. The session parameters may include a locationand/or a radius from the location in which users may be located toaccess the session. For example, the location may be an address or acity and the search radius may limit user access to within a predefineddistance from the address or city. The session parameters may restrictthe session to a maximum number of users or specific users allowed toaccess the session. The maximum number of users may include differentpredefined levels of users, such as 5 users, 100 users, 500 users,1,000, 2,500 users, 5,000 users, and/or 10,000 or more users. Eachpredefined level of users may be based on an access level granted to theadministrative user defining the session parameters.

The session parameters may include a session type, which may indicatethe type of interactive session available to users. For example, thesession type may be an interactive game, such as a scavenger hunt, arace, or another contest, which may allow users to complete objectivesto maintain the user's interest and may gather interactive data from theusers while the users are completing the objectives. The session may beused for other interactive computing environments, such as aninteractive tour, geocaching, providing a survey for users, and/orproviding a test for users. The customized interactive computingenvironment being provided in the form of a game or other contest usinga point system may maintain the interest of users through interactiveobjectives that may cause the users to interact with one another orobjects at various locations, while providing customized information to,and soliciting real-time information from, users.

The session parameters may define the features that may be offered tothe users that access the session. For example, the session parametersmay define whether to allow users to view scores of other users, whetherto enable social sharing of information, whether to allowphotostreaming, and/or whether to allow community flagging. For example,an administrative user may enable or disable certain session features,which may be defined in the session parameters.

User scores may be shared with other users via a scoreboard thatindicates the objectives completed by other users and/or the scoresachieved by other users for completion of objectives. The scores may beused to indicate the rank of the users in the session, may indicate theamount of real-time interactive user data received from each user,and/or may indicate the amount of information defined in the customizeduser objectives that may be communicated to each user.

Social sharing of information may allow users to upload objectives,information received in response to the objectives, and/or an indicationof a completion of an objective to a third-party webpage. For example,users may upload photos, locations, objectives, or other real-time datato a computing device and the computing device may upload theinformation to a webpage that may be viewed by others, such as athird-party URL on a social media website for example.

Photostreaming may allow a computing device to display a stream of photoobjectives that have been completed to other users. The photo stream mayinclude the photos taken by a user for each objective. The photo streammay be displayed in the sequence in which the photo objectives werecompleted by a user. Other users may indicate that they like a photo ina user's photo stream or comment on a photo in the photo stream. When auser is viewing a photo in the photo stream, the photo stream mayinclude the defined description of the photo objective for which thephoto was taken.

Community flagging may allow users to vote on the accuracy of a photoand/or flag the photos that they believe fail to complete a photoobjective. A user may vote to flag or unflag a photo. When apredetermined number of users (e.g., a majority) flag a photo, or morevotes for flagging the photo are received than the votes for unflaggingthe photo, the photo may be flagged. The user scores, the social sharinginformation, users' photo streams, and/or or community flagginginformation may be displayed at a computing device as a real-timeresponse to a request from the computing device or as a real-time updatethat may be pushed to the computing device.

The session parameters may define the rewards for users that access thesession. The reward may include a coupon, a gift card, or other rewardthat may be redeemed by users. The rewards may be presented as a photo,a barcode, a QR code, a link to a URL, or in another format the may beredeemable by users.

Customized interactive user objectives may be defined at 304. Theinteractive user objectives may be customizable by users, such as theadministrative users. The interactive user objectives may be customizedaccording to a theme. For example, the theme may be an entity-basedtheme, such as a company-based theme or a school-based theme, directedto providing and/or soliciting information about the entity. Theadministrative user may define onboarding themes having onboardingobjectives, the completion of which may familiarize employees withinformation about the company or a particular job at a company and theadministrative user may obtain information about the users that havecompleted particular onboarding objectives. The administrative user maydefine training themes having training objectives, the completion ofwhich may familiarize employees with information to assist in performinga particular job at a company and the administrative user may obtaininformation about the users that have completed particular trainingobjectives. The administrative user may define team-building themeshaving team-building objectives that may include multiple users tocomplete an objective and the administrative user may obtain informationabout the users that have completed particular team-building objectives.The administrative user may define school orientation themes havingschool orientation objectives, the completion of which may orientstudents with the location of useful locations on the school premisesand the administrative user may obtain information about the users thathave completed particular orientation objectives. The administrativeuser may define tourist destination themes having tourist destinationobjectives, the completion of which may provide an automated tour andthe administrative user may obtain information about the users that havecompleted particular tourist destination objectives. The interactiveuser objectives may be otherwise targeted to provide information aboutand/or solicit certain information from other users. The customizedinteractive user objectives may be included in the session parameters.

The interactive user objectives may include different types of userobjectives, such as photo objectives, location-based objectives, quickresponse (QR) code objectives, question and answer objectives, and/orother interactive user objectives to be completed by users. The photoobjectives may be defined by a description of a photo to be taken, anactual photo, and/or a number of points to be awarded for completion ofthe photo objective. The location-based objectives may be defined by adescription of a location, a location (e.g., an address, a city, astate, a country, GPS coordinates, proximity to a device, etc.), adefined radius or other range from the location in which a user may belocated to be awarded points, and/or a number of points to be awardedfor completion of the location-based objective. Question and answerobjectives may be defined by a providing a question, an answer to thequestion, and/or a number of points to be awarded for receiving theanswer to the question. The QR code objectives may be defined by adescription of the QR code to be scanned or otherwise captured (e.g., bytaking a photo), QR embedded text data for being converted into a QRcode, and/or a number of points to be awarded for completion of the QRcode objective. The embedded QR code text may be converted by acomputing device into a QR code and may be stored in memory for beingcompared against QR codes submitted by users during a session, or forcomparing the embedded data with the embedded data of QR codes submittedby users during a session.

Other interactive user objectives may include fitness-based objectives.A fitness-based objective may be defined by a description of thefitness-based objective, a speed a user may achieve to receive a numberof points, and/or the number of points to be awarded for the userobtaining the defined speed. The user may have to obtain the speed for adefined period of time. The user's speed may be indicated in digitalmessages received from a computing device.

The fitness-based objective may be defined by a heartrate a user mayachieve to receive a number of points and/or the number of points to beawarded for the user obtaining the defined heartrate. The user may haveto obtain the heartrate for a defined period of time. The user'sheartrate may be indicated in digital messages received from a computingdevice, which may be in communication with a heartrate monitor (e.g., anarmband, such as a FITBIT® or a watch, a chest strap, or anotherdevice). The speed and/or heartrate may be achieved for a group of usersbefore the defined points are awarded.

Each of the objectives may be defined with a different number of points,depending on the importance of the objective to the user defining theobjective. The user may assign a greater point value to objectives thatmay be more difficult or of greater importance for conveying informationto or obtaining information from the user. For example, if the user isdefining user objectives to be performed for informing other users of acompany, the objectives that will convey a greater amount of informationabout the company may be awarded a higher point value. Similarly,objectives that may solicit more important information from a user abouttheir interests in a company or for advertising company products orservices to the user may be given a greater number of points. Objectivesthat have a higher level of interaction between users may be definedwith a greater number of points.

The objectives may be defined separately or together for combinedobjectives. The combined objectives may be defined in a sequence or suchthat the objectives are to be performed at the same time or within atime period. For example, points may be defined for performing a QR codeobjective at a location or within a radius of a location defined by alocation-based objective. Though the QR code objective and thelocation-based objective are used as an example, any combination ofobjectives may similarly be combined for a defined number of points. Ifobjectives are defined in a sequence, a prior objective may be completedprior to a subsequent objective being displayed to a user.

At 306, the customized interactive user objectives may be provided tousers for being completed. For example, after a user defines thecustomized interactive user objectives and/or other session parameters,the user may launch a session of the interactive computing environment,which may be started at the start time and/or start date defined in thesession parameters. The customized interactive user objectives may beprovided to a user's computing device via a user interface when a userlogs into the session. The user may select one or more of the customizedinteractive user objectives to provide real-time interactive data forcompleting the user objective. Objectives may be pushed to a user'scomputing device (e.g., in the form of an alert) when the user isdetermined to be within a predefined location or distance from alocation at which the objective may be completed. The location of theobjective and/or the distance from the objective may be defined in thesession parameters. A computing device (e.g., a server or user device)may track the location of each user based on location informationreceived at the computing device and may notify the user when the useris at the location or within the predefined distance. The location-basednotifications may be enabled and/or disabled by a user (e.g., anadministrative user) or on a per user basis. The enablement of thelocation-based notifications may be stored in the session parameters.

Real-time interactive data may be received from the users, at 308, inresponse to the customized interactive user objectives. For example, theusers may submit responses to the customized interactive userobjectives. The interactive data may be polled from users' computingdevices or pushed from the users' computing devices in real-time uponcompletion.

The interactive data may be analyzed at a computing device, at 310, todetermine a score for each user. Digital messages may be received from acomputing device that may identify the user associated with the digitalmessage, the objective, and/or the interactive data submitted forcompleting the objective. The objective may be identified by anobjective identifier and/or an objective type (e.g., photo objective,location-based objective, QR code objective, question and answerobjective, and/or other interactive user objective). The digitalmessages may include a timestamp of the time at which the digitalmessage was generated or transmitted at a computing device. Computingdevices receiving the digital messages may generate timestamps uponreceipt of the digital messages to indicate the time at which themessages are received. The score for the user identified in the digitalmessage may be increased by the number of points for the objectivecompleted by a user.

The interactive data may be analyzed to determine whether theinteractive data completes the objective. The user's score may beincreased based on the user interactive data. For example, theinteractive data received in a digital message may include a photo forcompleting a photo objective. The photo may automatically be awarded thepoints for the photo objective. Users may view the photos submitted byother users and may flag the photos that they believe fail to completethe objective. If a predefined number of users (e.g., a majority) flag aphoto, or more users flag a photo than unflag a photo, the points forthe photo objective may be removed from a user's score or may be heldfrom being awarded. If a predefined number of users (e.g., a majority)unflag a photo, or more users unflag a photo than flag a photo, thepoints for the photo objective may remain for a user's score or may beawarded. The predefined number of users may be defined in the sessionparameters.

In another example, the photo may be compared to another photo throughimage analysis to compare the photos to determine whether the photobeing submitted is similar to a photo stored for the photo objective.The image analysis may use pattern recognition, digital geometry, orother signal processing to identify similar patterns in each image andmay award the points for the photo objective when the portions of eachphoto that are similar are above a predefined threshold percentage. Ifthe photo is similar to the uploaded photo by a predefined threshold(e.g., defined in the session parameters), the user may be awarded thepoints for the photo.

Location-based objectives may be completed based on GPS information orother location information submitted in a digital message. The digitalmessage from a computing device may include GPS coordinates or othergeolocation, an address, a latitude and longitude, or other locationinformation indicating a location of the computing device. The locationinformation may be compared to the location and/or the radius or otherpredefined range defined in the session parameters. If the locationreceived in the digital message is the location and/or is within theradius or other predefined range defined in the session parameters, theuser may be awarded the points. A user, such as the administrative user,may define a different number of points for different distances withinthe radius or other predefined range defined in the session parameters,which may also be awarded to the user based on the user's location.

Location-based objectives may be completed based on a computing devicesproximity to one or more devices. For example, when a computing devicecomes within BLUETOOTH® range of one or more BLUETOOTH® beacons based onthe proximity to the one or more beacons. The beacons may transmit anidentifier to the computing device via a BLUETOOTH® signal, which thecomputing device may identify and may include in the real-timeinteractive data transmitted in a digital message to indicate thecomputing devices location. The computing device may also sense thecomputing devices distance to a beacon based on the signal strength(RSSI) and may submit the distance and/or the signal strength todetermine whether the distance is within the defined radius or otherrange.

QR code objectives may be completed by a user scanning a QR code ortaking a picture of the QR code and submitting the QR code in a digitalmessage. The QR code may be compared to the QR code defined in thesession parameters. In another example, the QR code may be interpretedinto text and compared to the embedded text defined in the sessionparameters. If the QR code received in the digital message matches theQR code or the embedded text in the session parameters, the user may beawarded the points. The QR code may be published in one or morelocations for a user to scan or photograph. The QR code being scanned orotherwise identified may indicate a location of a user, verify that auser has completed a predefined process, verify that a user has viewedsome predefined information, or provide other confirmations orverifications. For example, a QR code may be displayed at the end of avideo or reading materials, such as a pamphlet or an advertisement.

Upon completion of the scanning of a QR code or a QR code objective, acomputing device may display additional information to the user on thecomputing device. For example, the computing device may display a webbrowser and a particular URL embedded in the QR code. Upon thecompletion of the scanning of a QR code or a QR code objective at aparticular destination (e.g., a tourist destination exhibit, ahistorical site, a building location, etc.), the computing device mayretrieve (e.g., from the server) information about the particulardestination at which the QR code is scanned or the objective iscompleted. An indication of whether the objective is completed may bedetermined locally or at a remote device (e.g., a server).

Question and answer objectives may be completed by a user submitting adigital message with an answer to the question of an identified questionand answer objective. The answer may be compared by the computing deviceto the stored answer for the identified objective. If the answerreceived in the digital message matches the answer defined in thesession parameters, the user may be awarded the points.

Referring again to FIG. 3, data analysis may be generated at 312 basedon the real-time interactive data received from the computing devices ofthe users in the session. The data analysis may be provided to certainusers, such as administrative users that define the session parametersfor example. The digital messages may include registration informationfrom users registering to a session, login information for users thatare logged in to a session for actively participating in the session,and/or real-time interactive data from users participating in thesession. The data analysis may indicate a number of users that haveregistered or are logged in to a session of a user environment based onthe registration or login information. For example, the data analysismay indicate a number of users that have registered for a session of theinteractive computing environment, a number of users that haveregistered for a session of the interactive computing environment duringone or more predefined periods of time (e.g., days, weeks, months,etc.), a number of users logged into a session at a given time, anaverage number of active users that are currently logged in andparticipating in a session, and/or a number of users that have loggedinto a session over a period of time or one or more predefined periodsof time (e.g., days, weeks, months, etc.). The periods of time may bebased on the timestamps generated at a transmitting or a receivingdevice.

The data analysis may indicate objective completion information for thedefined objectives, or one or more types of defined objectives, for asession. For example, the data analysis may indicate a number of usersthat have completed the defined objectives, a number of users that havecompleted a predefined number of objectives (e.g., at least oneobjective), an average number or percentage of objectives completed peruser for the users that have registered for a session or that are loggedinto a session, an average number or percentage of objectives completedby the active users that are currently logged in and participating in asession, a number of objectives completed during the session atpredefined periods of time, a number of objectives for each objectivetype that have been completed during the session, a period of time thathas elapsed since the last objective was completed during the session,and/or the number of completed objectives for each objective type. Thedata analysis may identify the user device types for the registeredusers and/or users that are currently logged into a session. The dataanalysis, or one or more portions thereof, may be displayed at acomputing device (e.g., to an administrative user).

FIGS. 4A-4F depict example user interfaces that may be generated at acomputing device for defining session objectives for the interactivecomputing environment. As shown in FIG. 4A, a user interface 400 may begenerated for defining different objectives by a user, such as anadministrative user, by selecting buttons 402-410 that each correspondto a different objectives to be defined by the user. The button 402 mayallow a user to define location-based user objectives, button 404 mayallow a user to define QR code objectives, button 406 may allow a userto define question and answer objectives, button 408 may allow a user todefine photo objectives, and/or button 410 may allow a user to defineother objectives. More or less buttons may be provided to allow a userto define different numbers of objectives. The defined objectives may belisted in a current objectives pane 412 in the user interface 400. Thecurrent objectives pane 412 may list one or more portions of theinformation used to define the objective, such as the description, thepoints awarded for completion of the objective, and/or the like.

FIG. 4B depicts an example user interface 420 that may be generated at acomputing device for defining a photo objective. As shown in FIG. 4B,the photo objective may be defined by providing a description 422 of aphoto to be taken by a user and/or a number of points 424 that may beawarded to a user for taking the photo. The description 422 of the photoobjective may be a name or other description of a photo to be submittedto complete the photo objective. A user may submit the defined photoobjective for being stored at a computing device by selecting the submitbutton 426. The computing device may store the photo objectivedescription 422 as text. The computing device may store the photoobjective points 424 as text or an integer.

FIG. 4C depicts an example user interface 430 that may be generated at acomputing device for defining a location-based objective. As shown inFIG. 4C, the location-based objective may be defined by providing adescription 432 of a location, the location, a radius or other rangefrom the defined location 438, and/or a number of points 442 that may beawarded to a user for reaching the location or coming within the definedradius 438 or other range. The description 432 of the location-basedobjective may be a name or other description of a location (e.g., acity, a state, a country, a building, a room in a building, anintersection, a street address, a latitude and longitude, etc.). Thelocation may be defined by a location latitude 434 and a locationlongitude 436, a street address, or another predefined location type(e.g., a city, a state, a country, a building, a room in a building, anintersection, etc.). The latitude 434 and longitude 436 may beidentified in a textbox, a dropdown menu of latitudes and longitudes, oranother form of selection.

The radius 438 may be a maximum radius or range from the definedlocation within which a user may be awarded points if the user isdetermined to be within the radius 438. The radius 438 may be entered ina textbox, selected from a dropdown menu of predefined radii, or byselecting one of the predefined radius icons 440. Each of the predefinedradii or predefined radius icons 440 may correspond to a differentpredefined distance based on the type of location being defined. Forexample, the predefined radii may be defined as an increasing number offeet when the location is within a building or a street address. If thelocation is defined as a city or state, the predefined radii may be anincreasing number of miles. A different number of points 442 may bedefined for a different radius or other range from the defined location,such that users that are closer to the defined location may be awardedmore points than users that are further from the location.

Though not shown in FIG. 4C, the user interface 430 may allow users todefine an amount of time a user may be at the location or within theradius to be awarded the points and/or a timeframe within which a usermay be awarded the points 442 for being at the location or within theradius. A user may submit the defined location-based objective for beingstored at a computing device by selecting the submit button 444. Thecomputing device may store the location-based objective information astext. The computing device may store the location-based objective points442 as text or an integer.

The user may further define the location of the location-based objectiveon a graphical map by selecting the button 446. FIG. 4D is an exampleuser interface 450 that may be generated at a computing device fordefining a location on a graphical map 454, such as when the button 446is selected in the user interface 430 in FIG. 4C. The graphical map 454may also, or alternatively, be displayed on the user interface 430 inFIG. 4C for defining the location. As shown in FIG. 4D, the location maybe defined by a user selection on the graphical map 454. A location pin456 may identify a user selection on the graphical map 454. Thecomputing device may determine the latitude and longitude 458 of thelocation pin 456 and may use the latitude and longitude 458 as thedefined location upon the user selection of the submit button 460. Thelocation pin 456 may similarly identify another location type, such as astreet address, an intersection, a city, a state, a country, a building,a room in a building, and/or the like, that may define the location ofthe location-based objective. The graphical map 454 may display thelatitude and longitude 458, or other definition of the location,identified by the location pin 456. The graphical map may display pointsof interest, such as a point of interest 462, that a user may be lookingfor to identify as a location-based objective. The points of interestmay include buildings, such as restaurants, schools, or otherbusinesses, landmarks, historical sites, or other points of interestthat a user may be looking to identify as a location-based objective.

The graphical map 454 may display a predefined area near alocation-based objective address 452 that may be entered by a user. Thepredefined area and the information displayed on the graphical map 454may change as a user zooms in or out, or moves in a given direction, onthe graphical map 454. The location-based objective address 452 may beused to navigate to different addresses, cities, states, countries, orthe like that the user may wish to view in the graphical map 454 forselecting a defined location. The location pin 456 may be initiallyplaced at the location-based objective address 452 and may be placed inother locations in the graphical map 454 upon user selection. The usermay select the submit button 460 to submit the defined location forbeing stored at the computing device.

FIG. 4E depicts an example user interface 470 that may be generated at acomputing device for defining a question and answer objective. As shownin FIG. 4E, the question and answer objective may be defined byproviding a description 472 of a question to be answered by a user, aquestion 474, an answer 476 to the question 474, and/or a number ofpoints 478 that may be awarded to a user for providing the answer 476.The description 472 of the question and answer objective may be a name,category, a clue, or other description of the answer 476 to be submittedto complete the question and answer objective. A user may submit thedefined question and answer objective for being stored at a computingdevice by selecting the submit button 480. The computing device maystore the description 472, the question 474, and/or the answer 476 astext. The computing device may store the question and answer objectivepoints 478 as text or an integer.

FIG. 4F depicts an example user interface 490 that may be generated at acomputing device for defining a QR code objective. As shown in FIG. 4F,the QR code objective may be defined by providing a description 492 of aQR code to be scanned in or otherwise captured by a user (e.g., bytaking a photo), a QR code embedded text 494, and/or a number of points496 that may be awarded to a user for providing a QR code or scanning ina QR code corresponding to the embedded text 494. The description 492 ofthe QR code objective may be a name or other description (e.g.,location, document, etc.) of the QR code to be submitted or scanned inby a user. The QR code embedded text 494 may be a URL, a business name,an identifier and/or password, or other text that may be embedded in aQR code. The embedded QR code text may be converted by a computingdevice into a QR code and may be stored in memory for being comparedagainst QR codes submitted by users during a session. The QR codeembedded text may be stored for being compared with text in a digitalmessage that may be submitted by a computing device after scanning a QRcode and interpreting the QR code embedded text. If the QR code text isa URL, a user that scans the QR code may be automatically taken to theURL in a web browser upon scanning the QR code at a computing deviceduring a session. Other information may also be displayed on a computingdevice upon scanning a QR code or completion of the QR code objective. Auser may submit the defined QR code objective for being stored at acomputing device by selecting the submit button 498. The computingdevice may store the description 492 and/or the QR code embedded text494 as text. The computing device may store the QR code objective points496 as text or an integer.

After a session has been customized by defining the session parameters,a user may store the session parameters for launching the session at thesession start time and/or date. A stored session may be searched for byusers. Users may search for the session by the profile information forthe session, such the name and/or a description of the session, thestart date of the session, the start time of the session, the end dateof the session, the end time of the session, the location of the sessionor a portion thereof, the session type, or any other information definedin the profile information or session parameters characterizing thesession. Sessions may be displayed in the users' search results when theusers are in the location or the radius from the location defined in theprofile information for accessing the session. Sessions may be displayedin a user's search results when the user is identified in the sessionparameters as a specific user allowed to access the session.

Users that find a session in a search may register for and/or log intothe session for completing the defined objectives. The users that arelogged into the session may view a list of the objectives. The list ofobjectives may identify the objectives to be completed, the objectivetypes for each objective, and/or the number of points awarded to theuser for the completion of each objective. The list of objectives mayalso identify the objectives that have been completed, the objectivetypes for each objective, and/or the number of points awarded to theuser for the completion of each objective. The objectives may becompleted by the user submitting a digital message from the user'scomputing device that includes a user identifier that identifies theuser submitting the message, a session identifier that identifies thesession for which the message is submitted, an objective identifier thatidentifies the objective for which the message is submitted, and/orreal-time interactive data submitted for completing the objective. Thereal-time interactive data may be analyzed at a computing device todetermine whether to award the points to the user. Data analysis may betracked for the user activity and the data analysis may be provided tothe user that defined the session parameters (e.g., an administrativeuser).

FIGS. 5A-5D depict example user interfaces that may be generated at acomputing device for displaying data analysis. The data analysis may begenerated based on digital messages received from users during a sessionof the interactive computing environment. The digital messages mayinclude registration information from users registering to a session,login information for users that are logged in to a session for activelyparticipating in the session, and/or real-time interactive data fromusers participating in the session. The data analysis may indicate anumber of users that have registered for or are logged in to a sessionof a user environment based on the registration or login information.The data analysis may indicate objective completion information for thedefined objectives, or one or more types of defined objectives, for asession based on the real-time interactive data. Each user may have auser identifier included in each digital message transmitted thatincludes the real-time interactive data that may be used to track theinformation associated with each user. Each objective and/or objectivetype may have an identifier to be used to track the objective completioninformation.

FIG. 5A depicts an example user interface 500 that may be generated fordisplaying data analysis at a computing device. As shown in FIG. 5A, thedata analysis may include a graph 502 that may identify a number ofusers that have registered for a session during predefined periods oftime. The number of users in the graph 502 may be determined bycalculating the number of users indicated in the registrationinformation as registering for the session during predefined periods oftime. Though the predefined periods of time shown in the graph 502include a number of days, the predefined periods of time may include anyperiod of time (e.g., number of weeks, number of months, etc.). Thepredefined periods of time shown in the graph 502 may begin at the startdate and/or start time of the session or at another time identified bythe user. The data analysis in the user interface 500 may identify atotal number of users 504 that have registered for a session. The numberof users 504 may be determined by calculating the total number of usersindicated in the registration information as registering for thesession. The data analysis may identify a total number of active users506 that are presently logged into a session. The data analysis mayidentify the start date, the start time, the end date, and/or the endtime 508 for the session.

FIG. 5B depicts another example user interface 510 that may be generatedfor displaying data analysis at a computing device. As shown in FIG. 5B,the data analysis may identify a number of users 512 that have completedthe defined objectives for the session. The number of users 512 may becalculated by determining, for each user, whether the user has completedeach of the objectives defined in the session. The computing device maykeep a running count of the number of objectives completed by each userand may set a flag when the user has completed each of the objectives.As shown in FIG. 5B, the number of users 512 that have completed thedefined objectives for the session may be represented as a percentageand/or in a graph.

The data analysis provided in the user interface 510 may identify anumber of users 514 that have completed a predefined number ofobjectives for the session. Though the user interface 510 identifies anumber of users 514 that have completed at least one objective, anynumber of predefined objectives may be identified in the user interface510. The number of users 510 may be calculated by determining, for eachuser, whether the user has completed the predefined number of objectivesdefined in the session. The computing device may keep a running count ofthe number of users that have completed the predefined number ofobjectives and may set a flag when the user has completed thepredetermined number of the objectives. As shown in FIG. 5B, the numberof users 514 that have completed the predefined number of objectives forthe session may be represented as a percentage and/or in a graph. Thegraph identifying the number of users 512 that have completed thedefined objectives for the session is depicted as a horizontal bar graphand the graph identifying the number of users 514 that have completed apredefined number of objectives for the session is depicted as acircular bar graph, but either graph, or any other type of graph, may beused in any of the user interfaces described herein.

The data analysis provided in the user interface 510 may identify anaverage number of objectives 516 that have been completed per userduring the session. The user interface 510 identifies the average numberof objectives completed per user for both the active users that arecurrently logged into the session and the total users registered in thesession. Each of the portions of the data analysis may be provided foractive users and/or registered users. The number of users 516 may becalculated by determining, for each user, the number of objectivescompleted during the session. As shown in FIG. 5B, the number of users516 that have completed the predefined number of objectives for thesession may be represented as a percentage and/or in a graph. The numberof users 516 may be calculated for each objective type (e.g., photoobjective, location-based objective, QR code objective, question andanswer objective, etc.).

The data analysis provided in the user interface 510 may identify theuser device types 518 for the registered users and/or users that arecurrently logged into a session. The user device types 518 may becalculated by determining, for each user, the type of devices beingimplemented by the user. The types of devices may include devices havingdifferent software components, such as different operating systems(e.g., APPLE®, MICROSOFT®, ANDROID®, etc.), and/or different hardwarecomponents (e.g., laptops, cell phones or smartphones, tablets, etc.).As shown in FIG. 5B, the user device types 518 may be represented as apercentage and/or in a graph. The device type may be determinedautomatically from the digital messages generated at a computing device.The device type may be indicated in, and determined from, the coding inthe digital messages transmitted from a computing device. The devicetype may be determined based on digital messages received that includeregistration information for registering a user in a session.

FIG. 5C depicts another example user interface 520 that may be generatedfor displaying data analysis at a computing device. As shown in FIG. 5C,the data analysis may include a graph 522 that may identify a number ofobjectives completed during the session at predefined periods of time.The number of objectives identified in the graph 522 may be determinedby calculating the number of objectives identified in the real-timeinteractive data as being completed during the session at each of thepredefined periods of time. Though the predefined periods of time shownin the graph 522 include a number of days, the predefined periods oftime may include any period of time (e.g., number of weeks, number ofmonths, etc.). The predefined periods of time shown in the graph 502 maybegin at the start date and/or start time of the session or at anothertime identified by the user. Each predefined period of time shown in thegraph 502 may be calculated according to timestamps generated attransmitting devices and/or receiving devices. The data analysis in theuser interface 520 may identify a total number of completed objectives524. The number of completed objectives 524 may be determined bycalculating the total number of objectives determined to be completed bythe users based on the real-time interactive data received in thedigital messages during the session. The data analysis may identify atotal number of available points 526 that are available for each userduring a session. The total number of available points 526 may bedetermined by calculating the total points available for each definedobjective.

FIG. 5D depicts another example user interface 530 that may be generatedfor displaying data analysis at a computing device. As shown in FIG. 5D,the data analysis may include a graph 532 that may identify a number ofobjectives for each objective type that have been completed during thesession. The number of objectives identified in the graph 532 for eachobjective type may be identified by calculating the number of objectivesin the real-time interactive data that have been completed during thesession having an objective identifier that corresponds to the objectivetype. Each objective type may be identified in the graph 532 using adifferent color, texture, icon, or other corresponding identifier. Thedata analysis in the user interface 530 may indicate a period of time534 that has elapsed since the last objective was completed during thesession. The period of time 534 may be indicated by displaying a dateand/or time the last objective was completed. In another example, theperiod of time may be determined as an amount of time since the date ortime since the last objective was completed and may be displayed.

The data analysis in the user interface 530 may include the number ofcompleted objectives 536 for each objective type. The number ofcompleted objectives 536 for each objective type may be determined bycalculating the total number of objectives determined to be completed bythe users based on the real-time interactive data that have theobjective type identifier, which may be identified in the digitalmessages including the real-time interactive data. The number ofcompleted objectives 536 for each objective type may be identified by apercentage and/or a graph.

Different objective types may be differentiated using differentobjective type icons 538. Each of the objective type icons 538 mayinclude a photo or other symbol that is descriptive of the objectivetype. For example, the photo objective type may have an objective typeicon 538 that is a camera or photo. The QR code objective type may havean objective type icon 538 that is a QR code. The location-basedobjective type may have an objective type icon 538 that is a locationpin or a map. The question and answer objective type may have anobjective type icon 538 that is a comment bubble. The objective typeicons 538 and/or other objective type information may be differentiatedby color, texture, or other differentiator. The objective type icons 538may be uploaded or selected by a user, such as an administrative user,when defining the objectives in the session parameters. The objectivetype icons 538 may be provided in other user interfaces provided to auser when the objective type or objective is being displayed. Though thedata analysis in FIGS. 5A-5D may be shown on different user interfaces,the data analysis may be displayed on the same user interface, ordifferent combinations of user interfaces.

Other information may be provided as data analysis. For example, thedata analysis generated at a computing device that includes a graphicalmap that tracks the location of one or more users as the users completedone or more objectives during a session, or a selected portion of asession. The graphical map may allow a user, such as an administrativeuser, to select an objective and view a graphical map that illustratesthe path of one or more users as the users completed the objective. Thepath on the map may be generated based on the location informationreceived from user devices and the timestamp of the digital messagesreceived from the user devices.

FIG. 6 depicts another example user interface 600 that may be generatedfor displaying data analysis at a computing device. The data analysismay be generated based on digital messages received from users during asession of the interactive computing environment. The data analysisshown in FIG. 6 is displayed in the form of an activity feed 610. Theactivity feed 610 may be displayed in the user interface 600 toadministrative users that define the session parameters and/or otherusers that may be logged into the session. The activity feed 610 mayinclude a timeline 620 of objectives completed by users during asession. The timeline 620 may include a sequence of completed objectivesduring the session, a predefined portion of the session, a user-definedportion of the session, or for a predefined number of entries in thesession. The time 650 may identify the time in the timestamp in thedigital message or the timestamp generated at the computing device inresponse to the digital message.

Each entry in the timeline may include a user 630, an objective 640completed by the user 630, and/or a time 650 at which the objective 640was completed. The user 630 may be determined from the user identifierin the digital messages received in the real-time interactive data. Theobjective 640 may be determined from the objective identifier in thedigital messages received in the real-time interactive data. Theobjective 640 may include an identifier of the objective type, such asthe objective type name, identifier, symbol, color, texture, and/orother differentiator.

The entries in the timeline may include the real-time interactive datasubmitted by the user 630 to complete the objective 640. For example, anentry for a photo objective may include the photo submitted by the user630. An entry for a QR code objective may include the QR code submittedby the user 630. An entry for a location-based objective may include thelocation of the user 630. An entry for a question and answer objectivemay include the answer submitted by the user 630.

FIG. 7 depicts another example user interface 700 that may be generatedfor displaying data analysis at a computing device. The data analysismay be generated based on digital messages received from users during asession of the interactive computing environment. The data analysisshown in FIG. 7 is displayed in the form of a status list 710. Thestatus list 710 may be displayed in the user interface 700 toadministrative users that define the session parameters and/or otherusers that may be logged into the session. The status list 710 mayinclude a list of users 720 in ascending or descending order accordingto their corresponding score 740. For example, the list of users 720 maybe a scoreboard or leaderboard that may identify the place of each userat the current time in the session.

Each entry in the list of users 720 may include a user 730 and/or acorresponding user score 740 of the user. The user score 740 for eachuser may be determined from the total amount of points awarded to theuser 730 for completing defined objectives. The entries in the list ofusers 720 may identify the objectives and/or objective types completedby the user 730 (e.g., including the objective type symbols and/or otherdistinguishing information for each objective or objective type). Thestatus list 710 may also identify the number of objectives a user 730has completed (e.g., in a graph or a percentage), a number of objectivesto be completed by the user 730, and/or whether the user 730 hascompleted each of the objectives.

The list of users 720 may identify the rank of each user 730 based onthe corresponding user score 740. Each user 730 having the same score740 may have the same rank. The one or more users having the highestpredefined rank in the status list 710 at the end of the session may beissued a reward. The one or more users that complete each of theobjectives may receive a reward. Each completed objective may have acorresponding reward that may be generated for the user that completedthe objective.

User interfaces provided to the users during the session may becustomized by a user, such as the administrative user defining thesession parameters for example. Allowing a user to customize userinterfaces and session parameters enable a user to provide a customizedinteractive computing environment to users that are logged in to thesession.

FIG. 8 is a flow diagram illustrating an example method 800 forcustomizing user interfaces provided to users logged into a session ofan interactive computing environment provided by a computing device. Themethod 800, or portions thereof, may be performed at a computing deviceor may be distributed across multiple computing devices. The method 800,or portions thereof, may be performed to enable users, such asadministrative users, to customize the user interfaces provided to otherusers in the interactive computing environment.

As illustrated in FIG. 8, custom profile information may be received ata computing device at 802. The custom profile information may includethe session parameters for defining a session of the interactivecomputing environment, such that the custom profile information is awareof the session parameters and the space on the display that may beoccupied by information defined in the session parameters. The customprofile information may include graphics or text for customizing a userinterface for the interactive computing environment. The graphics ortext may include an advertisement, such as a logo or an icon, of acompany, for example. The graphics or text may be received as a picturefile or a link to a picture that may be accessed using a uniformresource locator (URL). The custom profile information may include a URLitself for allowing users to visit the URL while being logged into asession.

At 804, predefined coordinates on the user interface may be determinedfor displaying the custom profile information. As multiple portions ofthe user interface may include custom profile information, thepredefined coordinates for each location may be determined fordisplaying corresponding custom profile information. The predefinedcoordinates may be indicated by a location on in the user interfaceand/or a size of the user interface allocated for the custom profileinformation. The size of the predefined coordinates may be identified bya pixel height and/or a pixel width. The custom profile information maybe formatted to fit the predefined coordinates at 806. For example, thesize of the picture that includes the graphic or text may be resized(e.g., larger or smaller) to fit the predefined coordinates. In anotherexample, the custom profile information may be received at a size thatcorresponds to the predefined coordinates of the user interface, suchthat auto-formatting may be prevented.

A computing device may generate the customized user interfaces at 808based on the custom profile information. The customized user interfacesmay include the custom profile information in the predefined coordinatesof the user interface. The customized user interfaces may include apredefined area for displaying information defined in the sessionparameters. The computing device may provide the customized userinterfaces to the computing devices of users that are logged into asession at 810. The customized user interfaces may be provided to theusers at 810 to enable the users to interact with the interactivecomputing environment. The customized user interfaces may be provided bybeing displayed on computing devices (e.g., locally or on a remotecomputing device) of users that are registered and/or logged into thecorresponding session. Different customized profile information may beprovided for different sessions.

FIG. 9 depicts an example user interface 900 that may be generated at acomputing device to include custom profile information at one or moreportions of the user interface 900. The custom profile information, orportions thereof, illustrated in the user interface 900 may be includedin any of the user interfaces described herein. The custom profileinformation illustrated in the user interface 900 may be provided as ahome screen to users that register for and/or log into a session. Wherethe user interface is provided as a home screen, the user interface 900may include a name 950 and/or a description 960 of the session. The name950 and/or the description 960 may be scrolled in the viewing pane 980in a direction (e.g., up, left, right, down) upon receiving anindication (e.g., a gesture or selection) from a user. The viewing pane980 may display defined session parameters (e.g., customized objectives,user objective completion status, etc.), data analysis, and/or otherinformation to a user. Each portion of the custom profile informationmay be uploaded and stored for being displayed with a correspondingdifferent portion of the user interface. One or more portions of theuser interface 900 (e.g., including the profile icon 940 and/or thebanner 970) may continue to be displayed as information is scrolled inthe viewing pane 980. One or more portions of the user interface 900(e.g., including the profile icon 940 and/or the banner 970) may scrollinto view or out of view as information is scrolled in the viewing pane980.

As shown in FIG. 9, the user interface 900 may include a top portion910; one or more side portions 920 a, 920 b; and/or a bottom portion 930that may include a predefined size for inserting custom profileinformation, such as graphics, text, or a URL. Each portion 910, 920 a,920 b, and/or 930 may have a similar or different size than otherportions. Each of the portions 910, 920 a, 920 b, and/or 930 may havethe same size in different locations. The top portion 910 and the bottomportion 930 may have the same size in different locations. The sideportions 920 a and 920 b may have the same size in different locations.The size of each portion may be measured in pixel height and pixelwidth. For example, the top portion 910 and/or the bottom portion 930may be 640 pixels in height and 400 pixels in width. The pixel heightand width may depend on the type of device on which the user interface900 is being displayed.

The user interface 900 may include a profile icon 940. The profile icon940 may be located in a center portion of the user interface 900 fordisplaying an icon in the center of the user interface 900. The profileicon 940 may include a predefined size for inserting custom profileinformation, such as a graphics, text, or a URL. The profile icon 940may have a smaller size than the other portions of the user interface900. The profile icon may be 120 pixels in height and 120 pixels inwidth, for example. The pixel height and width may depend on the type ofdevice on which the user interface 900 is being displayed. The profileicon 940 may be layered over one or more other portions (e.g., the topportion 910) such that the profile icon 940 overlays the one or moreother portions to be prominently displayed.

The user interface 900 may include one or more banners, such as banner970, which may be displayed throughout the user interface 900. Thebanners may appear and disappear as a user scrolls up and down or sideto side on the user interface 900 to view additional information. Thebanner 970 may be located anywhere on the user interface 900. The banner970 may stretch the width of the user interface 900, or the width of theuser interface 900 minus one or more side portions 920 a, 920 b. Thebanner 970 may include a predefined size for inserting custom profileinformation, such as graphics, text, or a URL. The banner 970 may be 620pixels in height and 150 pixels in width, for example. The pixel heightand width may depend on the type of device on which the user interface900 is being displayed. The banner 970 may be layered over one or moreother portions such that the banner 970 overlays the one or more otherportions.

FIG. 10 is a flow diagram illustrating an example method 1000 forgenerating rewards for users. The method 1000, or portions thereof, maybe performed at a computing device or may be distributed across multiplecomputing devices. The method 1000, or portions thereof, may beperformed to enable users, such as administrative users, to providerewards to users. The rewards may incentivize users to complete moreobjectives, complete more difficult or more important objectives forinformation distribution or gathering, and/or complete objectives in afaster time period, thereby providing more real-time interactive dataand/or discovering more information (e.g., about a company or foranother theme of the session).

As illustrated in FIG. 10, real-time interactive data may be receivedfrom users at 1002 in response to customized interactive userobjectives. The real-time interactive data may be received via digitalmessages that identify the objective and/or the user for which thereal-time interactive data is being submitted. At 1004, users may bescored based on the real-time interactive data received from each user.Each user's score may be increased by the amount of points defined forthe identified objective.

Rewards may be generated for the users at 1006 based on the user scores.For example, a reward may be generated for a predefined number of usersbased on the users' scores. The reward maybe predefined in the sessionparameters. The reward description, definition of users who will receivethe reward (e.g., users with the highest score), the time at which thedefined users will receive the reward (e.g., at the end of the session,upon completion of one or more corresponding objectives, upon completionof each objective, etc.), and/or the reward may be stored in memory forbeing provided to users. The reward description may be provided to userswhen the users register or log into a session. The reward may begenerated for one or more users for which the reward has been defined. Areward may be generated for one or more users with the highest score atthe end of the session, the users that have completed a one or morecorresponding objectives, or the users that have completed each of theobjectives. Different rewards may be generated for users with differentscores. For example, a different reward may be generated for the userswith the top score than the users with the second highest score.

The rewards may be provided in the form of text, a photo or image, abarcode, a QR code, or other format for providing a customized reward toa user on a display of a computing device. The reward may be a coupon, agift card, a promo code, or other reward that may be redeemed by users.The reward may be a link to a URL that includes a coupon, a gift card,or discounted products.

The reward may be provided, at 1008, to the users having the useridentifiers for which the reward was generated. The reward may beprovided to the user in a predefined location of the user interface.Each type of reward may be uploaded by a user, such as theadministrative user, via a file or URL. The reward may be provided in apredefined size or provided as custom profile information and formattedfor being displayed in the user interface as described in the method 800of FIG. 8. The size of the predefined location for the reward may be apredefined number of pixels. For example, the predefined location forthe reward may be 640 pixels by 640 pixels. The pixel height and widthmay depend on the type of device on which the user interface is beingdisplayed.

Although features and elements are described herein in particularcombinations, each feature or element can be used alone or in anycombination with the other features and elements. The methods describedherein may be implemented in a computer program, software, or firmwareincorporated in a computer-readable medium for execution by a computeror processor. Examples of computer-readable media include electronicsignals (transmitted over wired or wireless connections) andcomputer-readable storage media. Examples of computer-readable storagemedia include, but are not limited to, a read only memory (ROM), arandom access memory (RAM), removable disks, and optical media such asCD-ROM disks, and digital versatile disks (DVDs).

What is claimed is:
 1. A method comprising: receiving a set of sessionparameters, wherein the set of session parameters define a session inwhich a plurality of users is able to access an interactive computingenvironment; defining interactive user objectives based on the set ofsession parameters, wherein the definition of each interactive userobjective comprises a respective number of points to be awarded forcompletion of each respective interactive user objective, and whereinthe interactive user objectives comprise a location-based objective thatindicates a defined location, a defined range associated with thelocation, and the respective number of points for each user of theplurality of users that submit a geolocation of an associated computingdevice from within the range associated with the location; providing auser interface for the interactive computing environment to a pluralityof computing devices to enable the plurality of users to access theinteractive computing environment during the session; receiving, via theuser interface, real-time interactive user data from the plurality ofusers during the session, wherein the real-time interactive user data isreceived in response to the interactive user objectives, and wherein thereal-time interactive user data of each user of the plurality of userscomprises respective geospatial location information that is submittedto complete the location-based objective; and awarding, based on thereal-time interactive user data, the respective number of points to eachuser of the plurality of users for each of the interactive userobjectives that are completed during the session.
 2. The method of claim1, further comprising: receiving a second set of session parameters,wherein the second set of session parameters define a second session inwhich a second plurality of users is able to access a second interactivecomputing environment; defining second interactive user objectives basedon the second set of session parameters; and providing a second userinterface for the second interactive computing environment to theplurality of users.
 3. The method of claim 2, further comprising:receiving a search query for at least one session; and generating asearch result based on the search query, wherein the search resultincludes one of the session or the second session.
 4. The method ofclaim 3, further comprising: receiving a session password that isassociated with the session; and permitting, based on the receivedsession password, access to the session.
 5. The method of claim 1,wherein the interactive user objectives further comprise a photoobjective that indicates a photo to be taken by each user of theplurality of users and the respective number of points for each user ofthe plurality of users from which the photo is received, the methodfurther comprising receiving a respective photo submitted to completethe photo objective, and wherein the real-time interactive user data ofeach user of the plurality of users comprises the respective photosubmitted to complete the photo objective.
 6. The method of claim 5,further comprising: displaying the respective photo for each user of theplurality of users in a newsfeed, wherein the user interface comprisesthe newsfeed.
 7. The method of claim 1, wherein the interactive userobjectives comprise the location-based objective, and wherein thereal-time interactive user data of each user of the plurality of userscomprises the respective geospatial location information from a userdevice associated with the user that is submitted to complete thelocation-based objective.
 8. The method of claim 1, wherein theinteractive user objectives further comprise a question and answerobjective that indicates the question to be answered by each user of theplurality of users and the respective number of points for each user ofthe plurality of users from which the answer is received, the methodfurther comprising receiving a respective answer submitted to completethe question and answer objective, and wherein the real-time interactiveuser data of each user of the plurality of users comprises therespective answer submitted to complete the question and answerobjective.
 9. The method of claim 1, wherein the interactive userobjectives comprise a fitness-based objective that indicates an activityto be performed by each user of the plurality of users and therespective number of points for each user of the plurality of users uponperformance of the activity, and wherein the real-time interactive userdata of each user of the plurality of users comprises informationsubmitted to complete the fitness-based objective.
 10. The method ofclaim 1, further comprising: providing a data analysis based on thereal-time interactive user data.
 11. The method of claim 10, wherein thedata analysis is provided by being displayed in a graph indicating therespective number of points awarded to each user of the plurality ofusers during the session.
 12. The method of claim 10, wherein the dataanalysis is provided by being displayed such that each user of theplurality of users is ordered according to a ranking based on therespective number of points awarded to each user.
 13. The method ofclaim 10, wherein the data analysis comprises a list of interactive userobjectives that at least one user of the plurality of users havecompleted during the session or that at least one user of the pluralityof users is yet to complete during the session.
 14. The method of claim1, further comprising: defining a ranking of the plurality of usersbased on the respective number of points awarded to each user of theplurality of users for each of the interactive user objectives that arecompleted during the session; and generating a second user interface forthe interactive computing environment, wherein the second user interfacecomprises the ranking.
 15. The method of claim 1, further comprising:receiving updated session parameters from the computing deviceassociated with the user, wherein the updated session parameters includeupdated interactive user objectives information; and defining updatedinteractive user objectives based on the updated session parameters. 16.A device comprising: a processor configured to: receive a set of sessionparameters, wherein the set of session parameters define a session inwhich a plurality of users is able to access an interactive computingenvironment; define interactive user objectives based on the set ofsession parameters, wherein the definition of each interactive userobjective comprises a respective number of points to be awarded forcompletion of each respective interactive user objective, and whereinthe interactive user objectives comprise a location-based objective thatindicates a defined location, a defined range associated with thelocation, and the respective number of points for each user of theplurality of users that submit a geolocation of an associated computingdevice from within the defined range associated with the definedlocation; provide a user interface for the interactive computingenvironment to a plurality of computing devices to enable the pluralityof users to access the interactive computing environment during thesession; receive, via the user interface, real-time interactive userdata from the plurality of users during the session, wherein thereal-time interactive user data is received in response to theinteractive user objectives, and wherein the real-time interactive userdata of each user of the plurality of users comprises respectivegeospatial location information that is submitted to complete thelocation-based objective; and award, based on the real-time interactiveuser data, the respective number of points to each user of the pluralityof users for each of the interactive user objectives that are completedduring the session.
 17. The device of claim 16, wherein the interactiveuser objectives comprise the location-based objective, and wherein thereal-time interactive user data of each user of the plurality of userscomprises the respective geospatial location information from a userdevice associated with the user that is submitted to complete thelocation-based objective.
 18. A computer-readable medium havinginstructions stored thereon that, when executed by a processor, causethe processor to: receive a set of session parameters, wherein the setof session parameters define a session in which a plurality of users isable to access an interactive computing environment; define interactiveuser objectives based on the set of session parameters, wherein thedefinition of each interactive user objective comprises a respectivenumber of points to be awarded for completion of each respectiveinteractive user objective, and wherein the interactive user objectivescomprise a location-based objective that indicates a defined location, adefined range associated with the location, and the respective number ofpoints for each user of the plurality of users that submit a geolocationof an associated computing device from within the defined rangeassociated with the location; provide a user interface for theinteractive computing environment to a plurality of computing devices toenable the plurality of users to access the interactive computingenvironment during the session; receive, via the user interface,real-time interactive user data from the plurality of users during thesession, wherein the real-time interactive user data is received inresponse to the interactive user objectives, and wherein the real-timeinteractive user data of each user of the plurality of users comprisesrespective geospatial location information that is submitted to completethe location-based objective; and award, based on the real-timeinteractive user data, the respective number of points to each user ofthe plurality of users for each of the interactive user objectives thatare completed during the session.
 19. The computer-readable medium ofclaim 18, wherein the interactive user objectives comprise thelocation-based objective, and wherein the real-time interactive userdata of each user of the plurality of users comprises the respectivegeospatial location information from a user device associated with theuser that is submitted to complete the location-based objective.